package com.suplus.oms.mutilmedia.wmsms;
import java.util.HashMap;
import java.util.Map;

import com.opensymphony.xwork.Result;
public class SmsAPI{
	
	 /**
     * 短信接口一，自写短信内容。该接口提交的短信均由人工审核，下发后请联系在线客服。适合：节假日祝福、会员营销群发等。
     */
    public static String sms_api1(String mobiles,String userId,String password,String type,String content) {
        Map<String, String> para = new HashMap<String, String>();
        /**
         * 目标手机号码，多个以“,”分隔，一次性调用最多100个号码，示例：139********,138********
         */
        para.put("mob", mobiles);
        /**
         * 微米账号的接口UID
         */
        para.put("uid", userId);
        /**
         * 微米账号的接口密码
         */
        para.put("pas", password);
        /**
         * 接口返回类型：json、xml、txt。默认值为txt
         */
        para.put("type",type);
        /**
         * 短信内容。必须设置好短信签名，签名规范： 
         * 1、短信内容一定要带签名，签名放在短信内容的最前面；
         * 2、签名格式：【***】，签名内容为三个汉字以上（包括三个）；
         * 3、短信内容不允许双签名，即短信内容里只有一个“【】”
         * 
         */
//        para.put("con", "【微米】您的验证码是：610912，3分钟内有效。如非您本人操作，可忽略本消息。");
        para.put("con", content);
        String result = "返回错误!";
        try {
//            System.out.println(HttpClientHelper.convertStreamToString(
//                    HttpClientHelper.get("http://api.weimi.cc/2/sms/send.html",
//                            para), "UTF-8"));
        	result = HttpClientHelper.convertStreamToString(
                  HttpClientHelper.post("http://api.weimi.cc/2/sms/send.html",
                  para), "UTF-8");
        	
           
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
	
	  /**
     * 短信接口二，触发类模板短信接口，可以设置动态参数变量。适合：验证码、订单短信等。
     */
    public static String sms_api2(String mobiles,String userId,String password,String type,String cid,Map<String, String> conMap) {
        Map<String, String> para = new HashMap<String, String>();
        /**
         * 目标手机号码，多个以“,”分隔，一次性调用最多100个号码，示例：139********,138********
         */
        para.put("mob", mobiles);
        /**
         * 微米账号的接口UID
         */
        para.put("uid", userId);
        /**
         * 微米账号的接口密码
         */
        para.put("pas", password);
        /**
         * 接口返回类型：json、xml、txt。默认值为txt
         */
        para.put("type", type);
        /**
         * 短信模板cid，通过微米后台创建，由在线客服审核。必须设置好短信签名，签名规范： 
         * 1、模板内容一定要带签名，签名放在模板内容的最前面；
         * 2、签名格式：【***】，签名内容为三个汉字以上（包括三个）；
         * 3、短信内容不允许双签名，即短信内容里只有一个“【】”
         */
        para.put("cid", cid);
        /**
         * 传入模板参数。
         * 
         * 短信模板示例：
         * 【微米】您的验证码是：%P%，%P%分钟内有效。如非您本人操作，可忽略本消息。
         * 
         * 传入两个参数：
         * p1：610912
         * p2：3
         * 最终发送内容：
         * 【微米】您的验证码是：610912，3分钟内有效。如非您本人操作，可忽略本消息。
         */
        int i=0;
        for(String key : conMap.keySet()){
        	i++;
        	System.out.println("key==="+key);
        	String keyValue = conMap.get(key);
        	para.put("p"+i, keyValue);
        }
        String result = "返回错误!";
        try {
//            System.out.println(HttpClientHelper.convertStreamToString(
//                    HttpClientHelper.get("http://api.weimi.cc/2/sms/send.html", para), "UTF-8"));
            result = HttpClientHelper.convertStreamToString(
                    HttpClientHelper.post("http://api.weimi.cc/2/sms/send.html", para), "UTF-8");
//            System.out.println(HttpClientHelper.convertStreamToString(
//                    HttpClientHelper.post("http://api.weimi.cc/2/sms/send.html", para),"UTF-8"));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
    
   /**
    * 微米账号查询
    */
    public static String account_api(String userId,String password,String type) {
        Map<String, String> para = new HashMap<String, String>();
        /**
         * 微米账号的接口UID
         */
        para.put("uid", userId);
        /**
         * 微米账号的接口密码
         */
        para.put("pas", password);
        /**
         * 接口返回类型：json、xml、txt。默认值为txt
         */
        para.put("type", type);
        String result = "返回错误!";
        try {
           result = HttpClientHelper.convertStreamToString(
                            HttpClientHelper
                                    .get("http://api.weimi.cc/2/account/balance.html",
                                            para), "UTF-8");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
    
    public static void main(String[] a) {
        
        // 测试短信接口二
//        sms_api2();
    }
}
